Talvez esse tópico te ajude: http://www.xtibia.com/forum/topic/134869-action-estatua-que-teleporta-o-player-apenas-se-ele-tiver-x-item/
Dá olhada aí =P
Por BlackLeft, 07 de jun. de 2012 em Scripts
Talvez esse tópico te ajude: http://www.xtibia.com/forum/topic/134869-action-estatua-que-teleporta-o-player-apenas-se-ele-tiver-x-item/
Dá olhada aí =P
Realmente ele pode mim ajudar, mais teria que editar pra ser uma chave, com tal numero nela entendeu ?
Qual o id dessa chave numero 666?
o id das duas chaves é 2091
Vasculhei os arquivos items.cpp de algumas revisões de Open Tibia que tenho aqui e não achei nenhum atributo relacionado com números de chaves.
Como provavelmente você está querendo mais alguma coisa do Bronson Server, creio que isso deve ser algo extra, mas até simples de fazer em C++.
Editado Junho 7 por Oneshot
Se vc conseguir fazer em c++ não tem problema, eu faria muito grato.
e sim tem bastante coisa pra copiar ainda, é so voce ver ae nos topicos.
Mais ae se é simples essa script pode fazer em c++ que fico muito grato.
Vlw (:
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

Galere, na minha época a key numer era de acordo com o ActionID da mesma. Se colocar action ID 666 ela vai ser Key: 666 e vai abrir portas com o actionid 666 ou 1666 (Não lembro.). Boa sorte.
hm... muito obrigado por essa informção, Realmente faz sentido.
você poderia explicar melhor como fuciona ?
Byerne disse,Galere, na minha época a key numer era de acordo com o ActionID da mesma. Se colocar action ID 666 ela vai ser Key: 666 e vai abrir portas com o actionid 666 ou 1666 (Não lembro.). Boa sorte.
Ainda é assim...A action id é igual ao número da key.
Galere, na minha época a key numer era de acordo com o ActionID da mesma. Se colocar action ID 666 ela vai ser Key: 666 e vai abrir portas com o actionid 666 ou 1666 (Não lembro.). Boa sorte.
Sério mesmo? Achei que era um atributo de item a parte. Se for assim do jeito que você falou, tudo fica mais simples. Segue abaixo um esboço do que seria o funcionamento da chave.
function onUse(cid, item, fromPosition, itemEx, toPosition) return (item.actionid == itemEx.actionid and doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A chave abriu a porta ") or doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A chave não encaixa na fechadura.")) end
Falha nossa, de fato a actionid vira mesmo key number, como visto no items.cpp.
else if(it.isKey()) s << " (Key:" << (item ? (int32_t)item->getActionId() : 0) << ")";
Editado Junho 8 por Oneshot
OneShot disse,Sério mesmo? Achei que era um atributo de item a parte. Se for assim do jeito que você falou, tudo fica mais simples. Segue abaixo um esboço do que seria o funcionamento da chave.
function onUse(cid, item, fromPosition, itemEx, toPosition)
return (item.actionid == itemEx.actionid and doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A chave abriu a porta
") or doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A chave não encaixa na fechadura."))
end
Ta aí a deixa então =P To começando a scripting ainda.. mas acho que o script deve funcionar. É só dar use com a chave na estátua =P
Crie um arquivo em actions>scripts e coloque isto dentro:
function onUse(cid, item, fromPosition, item2, toPosition)
teleport = {x=100, y=40, z=7} -- posição do teleport
idkey = 2091 --- id da key
if getPlayerItemCount(cid,idkey) >= 1 then
if item.itemid == 2091 then
if item.actionid == item2.actionid then
doPlayerRemoveItem(cid,idkey,1)
doTeleportThing(cid, teleport)
doSendMagicEffect(getPlayerPosition(cid), 10)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce foi teleportado!")
end
end
end
end
Em actions.xml, adicione:
<action actionid="XXXX" event="script" value="nomedoseuarquivo.lua"/>
Em XXXX, coloque o actionid da estátua que deve ser igual ao do número da key. Vlw, abraços!
Editado Junho 8 por Leoxtibia
eu não entendi direito essa script, tipo como é que vai ficar com o numero la 666 na key ?
manda seu msn para conversamos melhor.
@edit
Eu acho que só da para fazer oque eu pedir pelas sources mesmo, por causa que eu vou usar numeres key iguais (mesmo id) soque com o numero da key diferente...
Tipo Id Da key: 2091
11:50 You see a golden key (Key:666).
It weighs 1.00 oz.
Outra do mesmo jeito
Id Da key:2091
11:50 You see a golden key (Key:3050).
It weighs 1.00 oz.
é isso que eu procuro.
Dai dps que essa script tiver pronta, faria a da estatua por key number.
Editado Junho 8 por BlackLeft
Então você poderia criar essas chaves por um baú, taí o script:
Crie em actions>scripts um arquivo.lua e coloque isso nele:
function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid,2357) if queststatus == -1 then local key = doPlayerAddItem(cid,2091,1) doItemSetAttribute(key, "aid", 666) doPlayerSendCancel(cid,'You have found a Golden key! Number 666.') setPlayerStorageValue(cid,2357,1) else doPlayerSendCancel(cid,'This chest is Empty') end return true end
Aqui em doItemSetAttribute(key, "aid", 666) -- Em vermelho é o Key Number da sua chave
Em actions.xml coloque a tag:
<action actionid="XXXX" event="script" value="nomedoseuarquivo.lua"/>
Em XXXX você coloca a actionid do baú, aí é so fazer a mesma coisa para o outro número da key.Lembrando de mudar o 2357, que é o storage. Abraço!
Editado Junho 8 por Leoxtibia
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

Este fragmento do doors.lua mostra o funcionamento das chaves.
if(isInArray(keys, item.itemid)) then if(itemEx.actionid > 0) then if(item.actionid == itemEx.actionid and doors[itemEx.itemid] ~= nil) then doTransformItem(itemEx.uid, doors[itemEx.itemid]) return true end doPlayerSendCancel(cid, "The key does not match.") return true end return false end
info
Grupo: Campones
Registrado: 20/08/11
Posts: 41
Reputação: +26
Gostaria muito que alguem podesse mim ajudar nessa script de key, ela fuciona assim, keys do mesmo id soque com numeros diferentes:
Segue a imagem abaixo como exemplo:
agora caso eu tenha a key 666 eu usaria ela na estatua e seria telportado para tal lugar
Mas lembre-se que a estatua só pode fucionar caso eu tenha a key 666
Caso eu tenha a key 3070 eu usaria ela em outra estatua e seria teleportado para um lugar, e a key seria removida da minha bp.
Mas lembre-se que a estatua só pode fucionar caso eu tenha a key 3070
Vlw ae.
Espero que alguem de vcs consigam fazer, e se tiverem alguma duvida é so falar.